home *** CD-ROM | disk | FTP | other *** search
/ Acorn User: China / Acorn User China CD-ROM (UK) (Disc B) / Acorn User China CD-ROM (UK) (Disc B).bin / STUTTGART / EDITORS / FUE / h / EBIND < prev    next >
Encoding:
Text File  |  1991-04-03  |  18.2 KB  |  351 lines

  1. /*      EBIND:          Initial default key to function bindings for
  2.                         MicroEMACS 3.10
  3. */
  4.  
  5. /*
  6.  * Command table.
  7.  * This table  is *roughly* in ASCII order, left to right across the
  8.  * characters of the command. This explains the funny location of the
  9.  * control-X commands.
  10.  */
  11.  
  12. /*      Modifications:
  13.         11-Sep-89       Mike Burrow (INMOS)     Added folding.
  14. */
  15.  
  16. NOSHARE KEYTAB  keytab[NBINDS] = {
  17.         {CTRL|'A',              BINDFNC,        gotobol},
  18.         {CTRL|'B',              BINDFNC,        backchar},
  19.         {CTRL|'C',              BINDFNC,        insspace},
  20.         {CTRL|'D',              BINDFNC,        forwdel},
  21.         {CTRL|'E',              BINDFNC,        gotoeol},
  22.         {CTRL|'F',              BINDFNC,        forwchar},
  23.         {CTRL|'G',              BINDFNC,        ctrlg},
  24.         {CTRL|'H',              BINDFNC,        backdel},
  25.         {CTRL|'I',              BINDFNC,        tab},
  26.         {CTRL|'J',              BINDFNC,        indent},
  27.         {CTRL|'K',              BINDFNC,        killtext},
  28.         {CTRL|'L',              BINDFNC,        refresh},
  29.         {CTRL|'M',              BINDFNC,        newline},
  30.         {CTRL|'N',              BINDFNC,        bforwline},
  31.         {CTRL|'O',              BINDFNC,        openline},
  32.         {CTRL|'P',              BINDFNC,        bbackline},
  33.         {CTRL|'Q',              BINDFNC,        quote},
  34.         {CTRL|'R',              BINDFNC,        backsearch},
  35.         {CTRL|'S',              BINDFNC,        forwsearch}, 
  36.         {CTRL|'T',              BINDFNC,        twiddle},
  37.         {CTRL|'U',              BINDFNC,        unarg},
  38.         {CTRL|'V',              BINDFNC,        forwpage},
  39.         {CTRL|'W',              BINDFNC,        killregion},
  40.         {CTRL|'X',              BINDFNC,        cex},
  41.         {CTRL|'Y',              BINDFNC,        yank},
  42.         {CTRL|'Z',              BINDFNC,        backpage},
  43.         {CTRL|'[',              BINDFNC,        meta},
  44.         {CTLX|CTRL|'B',         BINDFNC,        listbuffers},
  45.         {CTLX|CTRL|'C',         BINDFNC,        quit},
  46. #if     AEDIT
  47.         {CTLX|CTRL|'D',         BINDFNC,        detab},
  48.         {CTLX|CTRL|'E',         BINDFNC,        entab},
  49. #endif
  50.         {CTLX|CTRL|'F',         BINDFNC,        filefind},
  51.         {CTLX|CTRL|'I',         BINDFNC,        insfile},
  52.         {CTLX|CTRL|'K',         BINDFNC,        macrotokey},
  53.         {CTLX|CTRL|'L',         BINDFNC,        lowerregion},
  54.         {CTLX|CTRL|'M',         BINDFNC,        delmode},
  55.         {CTLX|CTRL|'N',         BINDFNC,        mvdnwind},
  56.         {CTLX|CTRL|'O',         BINDFNC,        deblank},
  57.         {CTLX|CTRL|'P',         BINDFNC,        mvupwind},
  58.         {CTLX|CTRL|'R',         BINDFNC,        fileread},
  59.         {CTLX|CTRL|'S',         BINDFNC,        filesave}, 
  60. #if     AEDIT
  61.         {CTLX|CTRL|'T',         BINDFNC,        trim},
  62. #endif
  63.         {CTLX|CTRL|'U',         BINDFNC,        upperregion},
  64.         {CTLX|CTRL|'V',         BINDFNC,        viewfile},
  65.         {CTLX|CTRL|'W',         BINDFNC,        filewrite},
  66.         {CTLX|CTRL|'X',         BINDFNC,        swapmark},
  67.         {CTLX|CTRL|'Z',         BINDFNC,        shrinkwind},
  68.         {CTLX|'?',              BINDFNC,        deskey},
  69.         {CTLX|'!',              BINDFNC,        spawn},
  70.         {CTLX|'@',              BINDFNC,        pipecmd},
  71.         {CTLX|'#',              BINDFNC,        filter},
  72.         {CTLX|'$',              BINDFNC,        execprg},
  73.         {CTLX|'=',              BINDFNC,        showcpos},
  74.         {CTLX|'(',              BINDFNC,        ctlxlp},
  75.         {CTLX|')',              BINDFNC,        ctlxrp},
  76.         {CTLX|'<',              BINDFNC,        narrow},
  77.         {CTLX|'>',              BINDFNC,        widen},
  78.         {CTLX|'^',              BINDFNC,        enlargewind},
  79.         {CTLX|' ',              BINDFNC,        remmark},
  80.         {CTLX|'0',              BINDFNC,        delwind},
  81.         {CTLX|'1',              BINDFNC,        onlywind},
  82.         {CTLX|'2',              BINDFNC,        splitwind},
  83.         {CTLX|'A',              BINDFNC,        setvar},
  84.         {CTLX|'B',              BINDFNC,        usebuffer},
  85.         {CTLX|'C',              BINDFNC,        spawncli},
  86. #if     BSD
  87.         {CTLX|'D',              BINDFNC,        bktoshell},
  88. #endif
  89.         {CTLX|'E',              BINDFNC,        ctlxe},
  90.         {CTLX|'F',              BINDFNC,        setfillcol},
  91. #if     DEBUGM
  92.         {CTLX|'G',              BINDFNC,        dispvar},
  93. #endif
  94.         {CTLX|'K',              BINDFNC,        killbuffer},
  95.         {CTLX|'M',              BINDFNC,        setmod},
  96.         {CTLX|'N',              BINDFNC,        filename},
  97.         {CTLX|'O',              BINDFNC,        nextwind},
  98.         {CTLX|'P',              BINDFNC,        prevwind},
  99. #if     ISRCH
  100.         {CTLX|'R',              BINDFNC,        risearch},
  101.         {CTLX|'S',              BINDFNC,        fisearch},
  102. #endif
  103.         {CTLX|'W',              BINDFNC,        resize},
  104.         {CTLX|'X',              BINDFNC,        nextbuffer},
  105.         {CTLX|'Z',              BINDFNC,        enlargewind},
  106.         {META|CTRL|'A',         BINDFNC,        searchffold}, /* MJB: 21-Sep-89 */
  107.         {META|CTRL|'B',         BINDFNC,        searchbfold}, /* MJB: 21-Sep-89 */
  108. #if     WORDPRO
  109.         {META|CTRL|'C',         BINDFNC,        wordcount},
  110. #endif
  111.         {META|CTRL|'D',         BINDFNC,        delfold},     /* MJB: 21-Sep-89 */
  112. #if     PROC
  113.         {META|CTRL|'E',         BINDFNC,        execproc},
  114. #endif
  115. #if     CFENCE
  116.         {META|CTRL|'F',         BINDFNC,        getfence},
  117. #endif
  118.         {META|CTRL|'G',         BINDFNC,        gotomark},
  119.         {META|CTRL|'H',         BINDFNC,        delbword},
  120.         {META|CTRL|'I',         BINDFNC,        exitfold},   /* MJB: 11-Sep-89 */
  121.         {META|CTRL|'J',         BINDFNC,        removefold}, /* MJB: 11-Sep-89 */
  122.         {META|CTRL|'K',         BINDFNC,        unbindkey},
  123.         {META|CTRL|'L',         BINDFNC,        reposition},
  124.         {META|CTRL|'M',         BINDFNC,        delgmode},
  125.         {META|CTRL|'N',         BINDFNC,        namebuffer},
  126.         {META|CTRL|'O',         BINDFNC,        closefold},  /* MJB: 11-Sep-89 */
  127.         {META|CTRL|'R',         BINDFNC,        qreplace},
  128.         {META|CTRL|'S',         BINDFNC,        execfile}, 
  129.         {META|CTRL|'V',         BINDFNC,        nextdown},
  130. #if     WORDPRO
  131.         {META|CTRL|'W',         BINDFNC,        killpara},
  132. #endif
  133.         {META|CTRL|'X',         BINDFNC,        execcmd},
  134.         {META|CTRL|'Z',         BINDFNC,        nextup},
  135.         {META|' ',              BINDFNC,        setmark},
  136.         {META|'?',              BINDFNC,        help},
  137.         {META|'!',              BINDFNC,        reposition},
  138.         {META|'.',              BINDFNC,        setmark},
  139.         {META|'>',              BINDFNC,        gotoeob},
  140.         {META|'<',              BINDFNC,        gotobob},
  141.         {META|'~',              BINDFNC,        unmark},
  142. #if     APROP
  143.         {META|'A',              BINDFNC,        apro},
  144. #endif
  145.         {META|'B',              BINDFNC,        backword},
  146.         {META|'C',              BINDFNC,        capword},
  147.         {META|'D',              BINDFNC,        delfword},
  148. #if     CRYPT
  149.         {META|'E',              BINDFNC,        setekey},
  150. #endif
  151.         {META|'F',              BINDFNC,        forwword},
  152.         {META|'G',              BINDFNC,        gotoline},
  153.         {META|'I',              BINDFNC,        enterfold},  /* MJB: 11-Sep-89 */
  154.         {META|'J',              BINDFNC,        makefold},   /* MJB: 11-Sep-89 */
  155.         {META|'K',              BINDFNC,        bindtokey},
  156.         {META|'L',              BINDFNC,        lowerword},
  157.         {META|'M',              BINDFNC,        setgmode},
  158. #if     WORDPRO
  159.         {META|'N',              BINDFNC,        gotoeop},
  160. #endif
  161.         {META|'O',              BINDFNC,        openfold},   /* MJB: 11-Sep-89 */
  162. #if     WORDPRO
  163.         {META|'P',              BINDFNC,        gotobop},
  164.         {META|'Q',              BINDFNC,        fillpara},
  165. #endif
  166.         {META|'R',              BINDFNC,        sreplace},
  167. #if     BSD
  168.         {META|'S',              BINDFNC,        bktoshell},
  169. #endif
  170.         {META|'T',              BINDFNC,        exitallfolds}, /* MJB: 21-Sep-89 */
  171.         {META|'U',              BINDFNC,        upperword},
  172.         {META|'V',              BINDFNC,        backpage},
  173.         {META|'W',              BINDFNC,        copyregion},
  174.         {META|'X',              BINDFNC,        namedcmd},
  175.         {META|'Z',              BINDFNC,        quickexit},
  176.         {META|0x7F,             BINDFNC,        delbword},
  177.  
  178. #if     MOUSE
  179.         {MOUS|'a',              BINDFNC,        movemd},
  180.         {MOUS|'b',              BINDFNC,        movemu},
  181.         {MOUS|'e',              BINDFNC,        mregdown},
  182.         {MOUS|'f',              BINDFNC,        mregup},
  183.         {MOUS|'1',              BINDFNC,        resizm},
  184. #endif 
  185.  
  186.         {ALTD|'S',              BINDFNC,        forwhunt},
  187.         {ALTD|'R',              BINDFNC,        backhunt},
  188.         {SPEC|'<',              BINDFNC,        gotobob},
  189.         {SPEC|'P',              BINDFNC,        bbackline},
  190.         {SPEC|'Z',              BINDFNC,        backpage},
  191.         {SPEC|'B',              BINDFNC,        backchar},
  192.         {SPEC|'F',              BINDFNC,        forwchar},
  193.         {SPEC|'>',              BINDFNC,        gotoeob},
  194.         {SPEC|'N',              BINDFNC,        bforwline},
  195.         {SPEC|'V',              BINDFNC,        forwpage},
  196.         {SPEC|'C',              BINDFNC,        insspace},
  197.         {SPEC|'D',              BINDFNC,        forwdel},
  198.         {SPEC|CTRL|'B',         BINDFNC,        backword},
  199.         {SPEC|CTRL|'F',         BINDFNC,        forwword},
  200. #if     WORDPRO
  201.         {SPEC|CTRL|'Z',         BINDFNC,        gotobop},
  202.         {SPEC|CTRL|'V',         BINDFNC,        gotoeop},
  203. #endif
  204.         {SPEC|SHFT|'1',         BINDFNC,        cbuf1},
  205.         {SPEC|SHFT|'2',         BINDFNC,        cbuf2},
  206.         {SPEC|SHFT|'3',         BINDFNC,        cbuf3},
  207.         {SPEC|SHFT|'4',         BINDFNC,        cbuf4},
  208.         {SPEC|SHFT|'5',         BINDFNC,        cbuf5},
  209.         {SPEC|SHFT|'6',         BINDFNC,        cbuf6},
  210.         {SPEC|SHFT|'7',         BINDFNC,        cbuf7},
  211.         {SPEC|SHFT|'8',         BINDFNC,        cbuf8},
  212.         {SPEC|SHFT|'9',         BINDFNC,        cbuf9},
  213.         {SPEC|SHFT|'0',         BINDFNC,        cbuf10},
  214.  
  215. #if     HP150
  216.         {SPEC|32,               BINDFNC,        bbackline},
  217.         {SPEC|33,               BINDFNC,        bforwline},
  218.         {SPEC|35,               BINDFNC,        backchar},
  219.         {SPEC|34,               BINDFNC,        forwchar},
  220.         {SPEC|44,               BINDFNC,        gotobob},
  221.         {SPEC|46,               BINDFNC,        forwpage},
  222.         {SPEC|47,               BINDFNC,        backpage},
  223.         {SPEC|82,               BINDFNC,        nextwind},
  224.         {SPEC|68,               BINDFNC,        openline},
  225.         {SPEC|69,               BINDFNC,        killtext},
  226.         {SPEC|65,               BINDFNC,        forwdel},
  227.         {SPEC|64,               BINDFNC,        ctlxe},
  228.         {SPEC|67,               BINDFNC,        refresh},
  229.         {SPEC|66,               BINDFNC,        reposition},
  230.         {SPEC|83,               BINDFNC,        help},
  231.         {SPEC|81,               BINDFNC,        deskey},
  232. #endif
  233.  
  234. #if     HP110
  235.         {SPEC|0x4b,             BINDFNC,        backchar},
  236.         {SPEC|0x4d,             BINDFNC,        forwchar},
  237.         {SPEC|0x48,             BINDFNC,        bbackline},
  238.         {SPEC|0x50,             BINDFNC,        bforwline},
  239.         {SPEC|0x43,             BINDFNC,        help},
  240.         {SPEC|0x73,             BINDFNC,        backword},
  241.         {SPEC|0x74,             BINDFNC,        forwword},
  242.         {SPEC|0x49,             BINDFNC,        backpage},
  243.         {SPEC|0x51,             BINDFNC,        forwpage},
  244.         {SPEC|84,               BINDFNC,        cbuf1},
  245.         {SPEC|85,               BINDFNC,        cbuf2},
  246.         {SPEC|86,               BINDFNC,        cbuf3},
  247.         {SPEC|87,               BINDFNC,        cbuf4},
  248.         {SPEC|88,               BINDFNC,        cbuf5},
  249.         {SPEC|89,               BINDFNC,        cbuf6},
  250.         {SPEC|90,               BINDFNC,        cbuf7},
  251.         {SPEC|91,               BINDFNC,        cbuf8},
  252. #endif
  253.  
  254. #if     AMIGA
  255.         {SPEC|'?',              BINDFNC,        help},
  256.         {SPEC|'A',              BINDFNC,        bbackline},
  257.         {SPEC|'B',              BINDFNC,        bforwline},
  258.         {SPEC|'C',              BINDFNC,        forwchar},
  259.         {SPEC|'D',              BINDFNC,        backchar},
  260.         {SPEC|'T',              BINDFNC,        backpage},
  261.         {SPEC|'S',              BINDFNC,        forwpage},
  262.         {SPEC|'a',              BINDFNC,        backword},
  263.         {SPEC|'`',              BINDFNC,        forwword},
  264.         {SPEC|'P',              BINDFNC,        cbuf1},
  265.         {SPEC|'Q',              BINDFNC,        cbuf2},
  266.         {SPEC|'R',              BINDFNC,        cbuf3},
  267.         {SPEC|'S',              BINDFNC,        cbuf4},
  268.         {SPEC|'T',              BINDFNC,        cbuf5},
  269.         {SPEC|'U',              BINDFNC,        cbuf6},
  270.         {SPEC|'V',              BINDFNC,        cbuf7},
  271.         {SPEC|'W',              BINDFNC,        cbuf8},
  272.         {SPEC|'X',              BINDFNC,        cbuf9},
  273.         {SPEC|'Y',              BINDFNC,        cbuf10},
  274.         {127,                   BINDFNC,        forwdel},
  275. #endif
  276.  
  277. #if     ST520
  278.         {SPEC|CTRL|'5',         BINDFNC,        help},
  279. #endif
  280.  
  281. #if  WANGPC
  282.         SPEC|0xE0,              BINDFNC,        quit,           /* Cancel */
  283.         SPEC|0xE1,              BINDFNC,        help,           /* Help */
  284.         SPEC|0xF1,              BINDFNC,        help,           /* ^Help */
  285.         SPEC|0xE3,              BINDFNC,        ctrlg,          /* Print */
  286.         SPEC|0xF3,              BINDFNC,        ctrlg,          /* ^Print */
  287.         SPEC|0xC0,              BINDFNC,        bbackline,      /* North */
  288.         SPEC|0xD0,              BINDFNC,        gotobob,        /* ^North */
  289.         SPEC|0xC1,              BINDFNC,        forwchar,       /* East */
  290.         SPEC|0xD1,              BINDFNC,        gotoeol,        /* ^East */
  291.         SPEC|0xC2,              BINDFNC,        bforwline,      /* South */
  292.         SPEC|0xD2,              BINDFNC,        gotobop,        /* ^South */
  293.         SPEC|0xC3,              BINDFNC,        backchar,       /* West */
  294.         SPEC|0xD3,              BINDFNC,        gotobol,        /* ^West */
  295.         SPEC|0xC4,              BINDFNC,        ctrlg,          /* Home */
  296.         SPEC|0xD4,              BINDFNC,        gotobob,        /* ^Home */
  297.         SPEC|0xC5,              BINDFNC,        filesave,       /* Execute */
  298.         SPEC|0xD5,              BINDFNC,        ctrlg,          /* ^Execute */
  299.         SPEC|0xC6,              BINDFNC,        insfile,        /* Insert */
  300.         SPEC|0xD6,              BINDFNC,        ctrlg,          /* ^Insert */
  301.         SPEC|0xC7,              BINDFNC,        forwdel,        /* Delete */
  302.         SPEC|0xD7,              BINDFNC,        killregion,     /* ^Delete */
  303.         SPEC|0xC8,              BINDFNC,        backpage,       /* Previous */
  304.         SPEC|0xD8,              BINDFNC,        prevwind,       /* ^Previous */
  305.         SPEC|0xC9,              BINDFNC,        forwpage,       /* Next */
  306.         SPEC|0xD9,              BINDFNC,        nextwind,       /* ^Next */
  307.         SPEC|0xCB,              BINDFNC,        ctrlg,          /* Erase */
  308.         SPEC|0xDB,              BINDFNC,        ctrlg,          /* ^Erase */
  309.         SPEC|0xDC,              BINDFNC,        ctrlg,          /* ^Tab */
  310.         SPEC|0xCD,              BINDFNC,        ctrlg,          /* BackTab */
  311.         SPEC|0xDD,              BINDFNC,        ctrlg,          /* ^BackTab */
  312.         SPEC|0x80,              BINDFNC,        ctrlg,          /* Indent */
  313.         SPEC|0x90,              BINDFNC,        ctrlg,          /* ^Indent */
  314.         SPEC|0x81,              BINDFNC,        ctrlg,          /* Page */
  315.         SPEC|0x91,              BINDFNC,        ctrlg,          /* ^Page */
  316.         SPEC|0x82,              BINDFNC,        ctrlg,          /* Center */
  317.         SPEC|0x92,              BINDFNC,        ctrlg,          /* ^Center */
  318.         SPEC|0x83,              BINDFNC,        ctrlg,          /* DecTab */
  319.         SPEC|0x93,              BINDFNC,        ctrlg,          /* ^DecTab */
  320.         SPEC|0x84,              BINDFNC,        ctrlg,          /* Format */
  321.         SPEC|0x94,              BINDFNC,        ctrlg,          /* ^Format */
  322.         SPEC|0x85,              BINDFNC,        ctrlg,          /* Merge */
  323.         SPEC|0x95,              BINDFNC,        ctrlg,          /* ^Merge */
  324.         SPEC|0x86,              BINDFNC,        setmark,        /* Note */
  325.         SPEC|0x96,              BINDFNC,        ctrlg,          /* ^Note */
  326.         SPEC|0x87,              BINDFNC,        ctrlg,          /* Stop */
  327.         SPEC|0x97,              BINDFNC,        ctrlg,          /* ^Stop */
  328.         SPEC|0x88,              BINDFNC,        forwsearch,     /* Srch */
  329.         SPEC|0x98,              BINDFNC,        backsearch,     /* ^Srch */
  330.         SPEC|0x89,              BINDFNC,        sreplace,       /* Replac */
  331.         SPEC|0x99,              BINDFNC,        qreplace,       /* ^Replac */
  332.         SPEC|0x8A,              BINDFNC,        ctrlg,          /* Copy */
  333.         SPEC|0x9A,              BINDFNC,        ctrlg,          /* ^Copy */
  334.         SPEC|0x8B,              BINDFNC,        ctrlg,          /* Move */
  335.         SPEC|0x9B,              BINDFNC,        ctrlg,          /* ^Move */
  336.         SPEC|0x8C,              BINDFNC,        namedcmd,       /* Command */
  337.         SPEC|0x9C,              BINDFNC,        spawn,          /* ^Command */
  338.         SPEC|0x8D,              BINDFNC,        ctrlg,          /* ^ */
  339.         SPEC|0x9D,              BINDFNC,        ctrlg,          /* ^^ */
  340.         SPEC|0x8E,              BINDFNC,        ctrlg,          /* Blank */
  341.         SPEC|0x9E,              BINDFNC,        ctrlg,          /* ^Blank */
  342.         SPEC|0x8F,              BINDFNC,        gotoline,       /* GoTo */
  343.         SPEC|0x9F,              BINDFNC,        usebuffer,      /* ^GoTo */
  344. #endif
  345.  
  346.         {0x7F,                  BINDFNC,        backdel},
  347.  
  348.         {0,                     BINDNUL,        NULL}
  349. };
  350.  
  351.